<script>on mousedownglobal _EMDrecordrepeatsubtract 1 from _EMDrecordshowpreviewlineif the mouse is up then exit repeatend repeatend mousedownView previous previewed merge message</script>
</part>
<part>
<id>3</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>389</left>
<top>3</top>
<right>477</right>
<bottom>51</bottom>
</rect>
<style>opaque</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>26425</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Next</name>
<script>on mousedownglobal _EMDrecordrepeatadd 1 to _EMDrecordshowpreviewlineif the mouse is up then exit repeatend repeatend mousedownView next preview merged message</script>
</part>
<part>
<id>4</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>2</left>
<top>70</top>
<right>478</right>
<bottom>299</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Monaco</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>Preview</name>
<script>Message — The merged message that will be sent out for this database record</script>
</part>
<part>
<id>5</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>121</left>
<top>3</top>
<right>209</right>
<bottom>67</bottom>
</rect>
<style>opaque</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>32670</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Send All</name>
<script>on mouseUpput chooseprogram() into programif program is empty then exit mouseUpput DictionaryItems() into itmsrepeat with r = 1 to itmsput "Merging message "&r&" of "&itms into bg fld "Help"sendmessage program, rend repeatresetpopuphelpend mouseUpSend the entire database mail merged with the message (preview the results first!)</script>
</part>
<part>
<id>6</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>209</left>
<top>3</top>
<right>297</right>
<bottom>67</bottom>
</rect>
<style>opaque</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>20186</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Send One</name>
<script>on mouseUpglobal _EMDrecordput chooseprogram() into programif program is not empty then sendmessage program, _EMDrecordend mouseUpSend the currently displayed message</script>
</part>
<part>
<id>7</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>301</left>
<top>52</top>
<right>477</right>
<bottom>67</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Go</name>
<script>on mouseUpglobal _EMDrecordask "Go to record :" with _EMDrecordif the result is cancel then exit mouseUpif it is a number then put it into _EMDrecordshowpreviewlineend mouseUpGo to a specified message number</script>
</part>
<part>
<id>8</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>10</left>
<top>12</top>
<right>245</right>
<bottom>304</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>C script</name>
<script></script>
</part>
<part>
<id>9</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>239</left>
<top>12</top>
<right>474</right>
<bottom>304</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>Q script</name>
<script></script>
</part>
<content>
<layer>background</layer>
<id>1</id>
<highlight> <true /> </highlight>
</content>
<content>
<layer>card</layer>
<id>8</id>
<text>to SendEmailerMessage(_subject, _to, _cc, _bcc, _message) tell application •C• copy {} to recs if _to is not "" then copy recs & {{•T•:0, •A•:_to}} to recs if _cc is not "" then copy recs & {{•T•:1, •A•:_cc}} to recs if _bcc is not "" then copy recs & {{•T•:2, •A•:_bcc}} to recs create mail subject _subject body _message recipients recs with save end tellend SendEmailerMessage</text>
</content>
<content>
<layer>card</layer>
<id>9</id>
<text>to SendEudoraMessage(_subject, _to, _cc, _bcc, _message) tell application •Q• copy (make message at end of mailbox "out" of mail folder "") to mess if _to is not "" then set field "to" of mess to _to if _cc is not "" then set field "cc" of mess to _cc if _bcc is not "" then set field "bcc" of mess to _bcc set field "subject" of mess to _subject set field "" of mess to _message queue mess end tellend SendEudoraMessage</text>
</content>
<name>Merge</name>
<script>on opencardglobal _EMDrecord, _EMPmessage, _EMPavailif DictionaryItems() is 0 thendisable cd btn "Send All"disable cd btn "Send One"disable cd btn "Prev"disable cd btn "Next"elseput "Subject: "&(cd fld "subject" of cd "message")&return into _EMPmessageget cd fld "to" of cd "message"if it is not empty then put "To: "&it&return after _EMPmessageget cd fld "cc" of cd "message"if it is not empty then put "CC: "&it&return after _EMPmessageget cd fld "bcc" of cd "message"if it is not empty then put "BCC: "&it&return after _EMPmessageput return&return after _EMPmessageput cd fld "message" of cd "message" after _EMPmessageput empty into _EMPavailput empty into setscriptget IsProgramAvailable("C")if it is not empty thenput "C" after _EMPavailput cd fld "C script" after setscriptput offset ("•C•",setscript) into offput quote&(item 2 to 255 of it)"e into char off to off+2 of setscriptput "1/1/97" into testdateconvert testdate to secondsdivide testdate by 128put (item 1 of it > testdate) into version2repeatput offset ("•T•",setscript) into offif off is 0 then exit repeatif version2 then put "type_old" into char off to off+2 of setscriptelse put "type" into char off to off+2 of setscriptend repeatrepeatput offset ("•A•",setscript) into offif off is 0 then exit repeatif version2 then put "address_old" into char off to off+2 of setscriptelse put "address" into char off to off+2 of setscriptend repeatend ifget IsProgramAvailable("Q")if it is not empty thenput "Q" after _EMPavailput cd fld "Q script" after setscriptput offset ("•Q•", setscript) into offput quote&(item 2 to 255 of it)"e into char off to off+2 of setscriptend ifif setscript is not the script of this bg thenset the cursor to watchset the script of this bg to setscriptend ifif _EMDrecord is empty then put 1 into _EMDrecordenable cd btn "Send All"enable cd btn "Send One"enable cd btn "Prev"enable cd btn "Next"end ifshowpreviewlineend opencardon showpreviewlineglobal _EMDrecord, _EMPmessageput DictionaryItems() into dictItemsif dictItems is 0 thenput empty into cd fld "preview"put "No database records" into bg fld "number"elseif _EMDrecord < 1 thenput dictItems into _EMDrecordelse if _EMDrecord > dictItems thenput 1 into _EMDrecordend ifput replacemerge(_EMPmessage, cd fld "fields" of cd "data",¬DictionaryRead(_EMDrecord)) into cd fld "preview"put "Previewing message "&_EMDrecord&" of "&dictItems into bg fld "number"end ifend showpreviewlinefunction codetoprogram codeif code is "C" then return "Emailer"else if code is "Q" then return "Eudora"else return ""end codetoprogramfunction chooseprogramglobal _EMPavail, _EMPpreferput _EMPavail into choiceput offset(_EMPprefer, choice) into offif off is not 0 thendelete char off of choiceput _EMPprefer before choiceend ifput length(choice) into lenif len is 0 thenanswer "Neither Claris Emailer nor Eudora can be located."return emptyelse if len is 1 then return choiceelse if len is 2 thenput codetoprogram(char 1 of choice) into prog1put codetoprogram(char 2 of choice) into prog2answer "Send email/s with :" with "Cancel" or prog2 or prog1if it is cancel then return emptyelse if it is prog2 thenput char 2 of choice into _EMPpreferreturn char 2 of choiceelseput char 1 of choice into _EMPpreferreturn char 1 of choiceend ifend ifend chooseprogramon sendmessage program, recordput cd fld "fields" of cd "data" into _fieldsput DictionaryRead(record) into _recordput replacemerge(cd fld "subject" of cd "message", _fields, _record) into _subjectput replacemerge(cd fld "to" of cd "message", _fields, _record) into _toput replacemerge(cd fld "cc" of cd "message", _fields, _record) into _ccput replacemerge(cd fld "bcc" of cd "message", _fields, _record) into _bccput replacemerge(cd fld "message" of cd "message", _fields, _record) into _messageif _to&_cc&_bcc is empty then exit sendmessageif program is "C" thenSendEmailerMessage _subject, _to, _cc, _bcc, _messageelse if program is "Q" thenSendEudoraMessage _subject, _to, _cc, _bcc, _messageend ifend sendmessageon arrowkey keyif key is left then send mousedown to cd btn "prev"else if key is right then send mousedown to cd btn "next"end arrowkey</script>
</card>
card_4670.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>Message — The message to be sent out, merged with the database</script>
</part>
<part>
<id>3</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>165</left>
<top>5</top>
<right>477</right>
<bottom>19</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Monaco</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>Subject</name>
<script>Subject — Subject of the message to be sent out</script>
</part>
<part>
<id>4</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>165</left>
<top>21</top>
<right>380</right>
<bottom>35</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Monaco</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>To</name>
<script>To — Email address to send the message directly to (can be left blank)</script>
</part>
<part>
<id>5</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>165</left>
<top>37</top>
<right>380</right>
<bottom>51</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Monaco</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>CC</name>
<script>Cc — Email address to send a copy of the message to (can be left blank)</script>
</part>
<part>
<id>6</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>165</left>
<top>53</top>
<right>380</right>
<bottom>67</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Monaco</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>BCC</name>
<script>Bcc — Email address to send blind copy of the message to (can be left blank)</script>
</part>
<part>
<id>7</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>382</left>
<top>50</top>
<right>475</right>
<bottom>65</bottom>
</rect>
<style>popup</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<selectedLines>
<integer>1</integer>
</selectedLines>
<textAlign>center</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<name>Insert</name>
<script>on mouseenterglobal _EMMfieldput the selectedchunk into _EMMfieldend mouseenteron mousedownput cd fld "fields" of cd "data" into meend mousedownon mouseUpglobal _EMMfieldif _EMMfield is not empty thenput the value of the selectedline of me into fldnameput "«"&fldname&"»" into insdo "put ins into"&&_EMMfieldput (word 2 of _EMMfield)+length(fldname)+1 into word 4 of _EMMfieldend ifput "Insert Field" into meselect line 1 of meend mouseUpon mouseLeaveglobal _EMMfieldif me is not "Insert Field" thenget the selectedchunkput "Insert Field" into meselect line 1 of meselect itend ifif the selectedchunk is not _EMMfield then do "select"&&_EMMfieldend mouseLeaveInsert one of the database fields at the current text position (in any field)</script>
</part>
<content>
<layer>background</layer>
<id>2</id>
<highlight> <true /> </highlight>
</content>
<content>
<layer>card</layer>
<id>4</id>
<text>«Email»</text>
</content>
<content>
<layer>card</layer>
<id>1</id>
<text>Dear «Name»,</text>
</content>
<content>
<layer>card</layer>
<id>7</id>
<text>Insert Field</text>
</content>
<name>Message</name>
<script></script>
</card>
card_6586.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseupput word 2 of the clickline into selineif seline <= the number of lines in me thenask "Change Name of Field to :" with line seline of meif the result is not cancel thenput it into line seline of meend ifelseask "Add Field Name :" with "Field "&1+the number of lines in meif the result is not cancel thenput it&return after meend ifend ifend mouseupFields — click a name to edit it, or click in the blank space to create a new field</script>
</part>
<part>
<id>2</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>119</left>
<top>70</top>
<right>476</right>
<bottom>299</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<selectedLines>
<integer>3</integer>
</selectedLines>
<textAlign>left</textAlign>
<font>Monaco</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>11</textHeight>
<name>Data</name>
<script>on mouseupglobal _EMDrecordif DictionaryItems() > 0 thenput word 2 of the clickline into selineif seline>the number of lines in cd fld "fields" then exit mouseupask "Change Field Data to :" with line seline of meif the result is not cancel thenput it into line seline of meif not DictionaryWrite(_EMDrecord, me) thenmemoryalertend ifend ifend ifend mouseupData — click a line to edit the data in this record</script>
</part>
<part>
<id>3</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>301</left>
<top>3</top>
<right>359</right>
<bottom>51</bottom>
</rect>
<style>opaque</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>902</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Prev</name>
<script>on mousedownglobal _EMDrecordsubtract 1 from _EMDrecordshowdatalineput the ticks into trepeat while the mouse is downif the ticks - t > 30 thensubtract 1 from _EMDrecordshowdatalineend ifend repeatend mousedownView previous data record</script>
</part>
<part>
<id>4</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>419</left>
<top>3</top>
<right>477</right>
<bottom>51</bottom>
</rect>
<style>opaque</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>26425</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Next</name>
<script>on mousedownglobal _EMDrecordadd 1 to _EMDrecordshowdatalineput the ticks into trepeat while the mouse is downif the ticks - t > 30 thenadd 1 to _EMDrecordshowdatalineend ifend repeatend mousedownView next data record</script>
</part>
<part>
<id>5</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>239</left>
<top>3</top>
<right>297</right>
<bottom>67</bottom>
</rect>
<style>opaque</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>7012</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>New</name>
<script>on mouseUpglobal _EMDrecordif not IsRegistered() and DictionaryItems()>=20 thenanswer "The unregistered version of Email Merge has a database limit of 20 records." with "OK"exit mouseUpend if-- please don't waste your time hacking this :->-- it's thoroughly checked in external code anywayif not DictionaryAppend() thenmemoryalertexit mouseUpend ifput DictionaryItems() into _EMDrecordsetenablesshowdatalineend mouseUpCreate a new record</script>
</part>
<part>
<id>6</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>180</left>
<top>3</top>
<right>238</right>
<bottom>67</bottom>
</rect>
<style>opaque</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>20965</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Delete</name>
<script>on mouseUpglobal _EMDrecordDictionaryRemove _EMDrecordsubtract 1 from _EMDrecordsetenablesshowdatalineend mouseUpDelete the currently shown record</script>
</part>
<part>
<id>7</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>121</left>
<top>3</top>
<right>179</right>
<bottom>67</bottom>
</rect>
<style>opaque</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>2</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Clear</name>
<script>on mouseUpglobal _EMDrecordbeep 3answer "Are you sure you want to clear the entire database ?"¬with "OK" or "Cancel"if it is "OK" thenDictionaryClearsetenablesshowdatalineend ifend mouseUpClear the entire database of records</script>
</part>
<part>
<id>8</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>360</left>
<top>3</top>
<right>418</right>
<bottom>51</bottom>
</rect>
<style>opaque</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>8538</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Find</name>
<script>on mouseUpglobal _EMDrecordask "Find :"if the result is cancel then exit mouseUpput it into findItput DictionaryItems() into dictItemsrepeat with i=1 to dictItemsif i mod 10 is 0 then put "Searched "&i&" records" into bg fld "help"get DictionaryRead(i)if findIt is in it thenput i into _EMDrecordshowdatalineexit repeatend ifend repeatresetpopuphelpend mouseUpFind a database record containing some text</script>
</part>
<part>
<id>9</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>301</left>
<top>52</top>
<right>477</right>
<bottom>67</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Go</name>
<script>on mouseUpglobal _EMDrecordask "Go to record :" with _EMDrecordif the result is cancel then exit mouseUpif it is a number then put it into _EMDrecordshowdatalineend mouseUpGo to a specified record number</script>
</part>
<content>
<layer>background</layer>
<id>3</id>
<highlight> <true /> </highlight>
</content>
<name>Data</name>
<script>on opencardglobal _EMDrecordif _EMDrecord is empty then put 1 into _EMDrecordsetenablesshowdatalineend opencardon setenablesput DictionaryItems() into dictItemsif dictItems<=1 thendisable cd btn "prev"disable cd btn "next"elseenable cd btn "prev"enable cd btn "next"end ifif dictItems=0 thendisable cd btn "delete"disable cd btn "clear"disable cd btn "find"elseenable cd btn "delete"enable cd btn "clear"enable cd btn "find"end ifend setenableson showdatalineglobal _EMDrecordput DictionaryItems() into dictItemsif dictItems is 0 thenput empty into cd fld "data"put "No database records" into bg fld "number"elseif _EMDrecord < 1 thenput dictItems into _EMDrecordelse if _EMDrecord > dictItems thenput 1 into _EMDrecordend ifput DictionaryRead(_EMDrecord) into cd fld "data"repeat while the number of lines in cd fld "data" < ¬the number of lines in cd fld "fields"put return after cd fld "data"end repeatrepeat while the number of lines in cd fld "fields" < ¬the number of lines in cd fld "data"put "Field"&&(the number of lines in cd fld "fields")+1&return¬after cd fld "fields"end repeatput "Database record "&_EMDrecord&" of "&dictItems into bg fld "number"end ifend showdatalineon arrowkey keyif key is left then send mousedown to cd btn "prev"else if key is right then send mousedown to cd btn "next"end arrowkey</script>
</card>
card_4437.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpglobal _EMIfile, _EMIrecord, _EMIdata, _EMIdelimanswer "Sample Data From :" with "Cancel" or "Clipboard" or "Text File"if it is cancel then exit mouseupif it is "clipboard" thenif not pasteclipboard() then exit mouseupput ":Clipboard" into _EMIfileput empty into _EMIdataput cd fld "clipboard" into _EMIdataput empty into cd fld "clipboard"elseanswer file "Text File to Sample :"if the result is cancel or it is empty then exit mouseupput it into _EMIfileput empty into _EMIdataopen file _EMIfileread from file _EMIfile for 32000put the number of lines in it into numlinesif length(it)>=30000 then subtract 1 from numlinesput line 1 to numlines of it after _EMIdataclose file _EMIfileend ifput empty into cd fld "fields"resetpopuphelpput 1 into _EMIrecordsetenablesshowimportlineend mouseUpUse the clipboard contents or open a tab-delimited text file to check the results of importing</script>
</part>
<part>
<id>8</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>8</left>
<top>70</top>
<right>119</right>
<bottom>299</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<selectedLines>
<integer>3</integer>
</selectedLines>
<textAlign>right</textAlign>
<font>Monaco</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>11</textHeight>
<name>Fields</name>
<script>on mouseupput word 2 of the clickline into selineif seline <= the number of lines in me thenask "Change Name of Field to :" with line seline of meif the result is not cancel thenput it into line seline of meend ifelseask "Add Field Name :" with "Field "&1+the number of lines in meif the result is not cancel thenput it&return after meend ifend ifend mouseupFields — click a name to edit it, or click in the blank space to create a new field</script>
</part>
<part>
<id>9</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>119</left>
<top>70</top>
<right>472</right>
<bottom>299</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<selectedLines>
<integer>3</integer>
</selectedLines>
<textAlign>left</textAlign>
<font>Monaco</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>11</textHeight>
<name>Data</name>
<script>Data — this shows the data contained in the sampled record being viewed</script>
</part>
<part>
<id>10</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>209</left>
<top>3</top>
<right>297</right>
<bottom>67</bottom>
</rect>
<style>opaque</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>17214</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Import</name>
<script>on mouseUpglobal _EMIfile, _EMDrecordif _EMIfile is empty thenanswer "Import Data From :" with "Cancel" or "Clipboard" or "Text File"if it is cancel then exit mouseupif it is "Clipboard" then put ":Clipboard" into _EMIfileelseanswer file "Text File to Import :"if the result is cancel or it is empty then exit mouseupput it into _EMIfileend ifend ifif _EMIfile is ":Clipboard" thenif not pasteclipboard() thenexit mouseupend ifelse open file _EMIfileif DictionaryItems() > 0 thenanswer "Remove all previous records ?" with "Cancel" or "OK"if it is not "OK" then exit mouseUpend ifput cd fld "fields" into fldsset the itemdelimiter to tabput IsRegistered() into registered-- please don't waste your time hacking this :->-- it's thoroughly checked in external code anywayDictionaryClearput 0 into lput empty into blockrepeatif _EMIfile is ":Clipboard" thenget cd fld "clipboard"put empty into cd fld "clipboard"else read from file _EMIfile for 4096put it after blockif block is empty then exit repeatput the number of lines in block into numlinesif length(block)>=4096 then subtract 1 from numlinesrepeat with r=1 to numlinesif l mod 10 is 0 then put "Imported "&l&" records" into bg fld "Help"add 1 to lif not registered and l > 20 thenanswer "The unregistered version of Email Merge has a database limit of 20 records." with "OK"exit repeatend ifget line r of blockrepeat while the number of items in it >¬the number of lines in fldsput "Field"&&((the number of lines in flds)+1)&return after fldsend repeatif not DictionaryAdd(it) thenmemoryalertexit repeatend ifend repeatdelete line 1 to numlines of blockend repeatif _EMIfile is not ":Clipboard" then close file _EMIfileresetpopuphelpput 1 into _EMDrecordput flds into cd fld "fields" of cd "data"go to cd "data"set the itemdelimiter to commaend mouseUpImport the tab-delimited clipboard contents or text file</script>
</part>
<part>
<id>11</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>301</left>
<top>3</top>
<right>389</right>
<bottom>51</bottom>
</rect>
<style>opaque</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>902</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Prev</name>
<script>on mousedownglobal _EMIrecordrepeatsubtract 1 from _EMIrecordshowimportlineif the mouse is up then exit repeatend repeatend mousedownView the previous sampled record</script>
</part>
<part>
<id>12</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>389</left>
<top>3</top>
<right>477</right>
<bottom>51</bottom>
</rect>
<style>opaque</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>26425</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Next</name>
<script>on mousedownglobal _EMIrecordrepeatadd 1 to _EMIrecordshowimportlineif the mouse is up then exit repeatend repeatend mousedownView the next sampled record</script>
</part>
<part>
<id>13</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>301</left>
<top>52</top>
<right>477</right>
<bottom>67</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Go</name>
<script>on mouseUpglobal _EMIrecordask "Go to record :" with _EMIrecordif the result is cancel then exit mouseUpif it is a number then put it into _EMIrecordshowimportlineend mouseUpGo to a specified record number</script>
</part>
<part>
<id>14</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>140</left>
<top>88</top>
<right>444</right>
<bottom>265</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>Clipboard</name>
<script></script>
</part>
<content>
<layer>background</layer>
<id>4</id>
<highlight> <true /> </highlight>
</content>
<name>Import</name>
<script>on opencardglobal _EMIrecordsetenablesshowimportlineend opencardon setenablesglobal _EMIfile, _EMIdataif the number of lines in _EMIdata <= 1 thendisable cd btn "next"disable cd btn "prev"elseenable cd btn "next"enable cd btn "prev"end ifend setenableson showimportlineglobal _EMIdelim, _EMIrecord, _EMIdataif the number of lines in _EMIdata is 0 thenput empty into cd fld "data"put "No sampled records" into bg fld "number"elseif _EMIrecord <1 thenput the number of lines in _EMIdata into _EMIrecordelse if _EMIrecord > the number of lines in _EMIdata thenput 1 into _EMIrecordend ifset the itemdelimiter to tabput line _EMIrecord of _EMIdata into thislinerepeat while the number of items in thisline >¬the number of lines in cd fld "fields"put "Field"&&(the number of lines in cd fld "fields")+1&return¬after cd fld "fields"end repeatrepeat with i=1 to the number of lines in cd fld "fields"put item i of thisline into line i of dataend repeatput data into cd fld "data"put "Sampled record "&_EMIrecord&" of "&¬the number of lines in _EMIdata into bg fld "number"set the itemdelimiter to commaend ifend showimportlineon arrowkey keyif key is left then send mousedown to cd btn "prev"else if key is right then send mousedown to cd btn "next"end arrowkeyfunction pasteclipboardlock screenshow cd fld "clipboard"select text of cd fld "clipboard"if there is a menuitem "paste text" in menu "edit" thenput the enabled of menuitem "paste text" of menu "edit" into reselse put false into resif res is true then domenu "paste text"else answer "The clipboard does not contain any text."hide cd fld "clipboard"unlock screenreturn resend pasteclipboard</script>
</card>
card_2976.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseupput the value of the selectedline of me into valif val is empty thenselect line 0 of mehide cd fld "help"elseput ">"&val&">"&return into find1put "<"&val&"<" into find2put offset(find1, cd fld "raw") into off1put offset(find2, cd fld "raw") into off2put char off1+length(find1) to off2-2 of cd fld "raw" into cd fld "help"if the visible of cd fld "raw" then select char off1 of cd fld "raw"show cd fld "help"end ifend mouseupTopics — click a topic to view information about it</script>
</part>
<part>
<id>1</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>120</left>
<top>2</top>
<right>478</right>
<bottom>299</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>Help</name>
<script></script>
</part>
<part>
<id>3</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>120</left>
<top>2</top>
<right>478</right>
<bottom>299</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>Raw</name>
<script></script>
</part>
<content>
<layer>card</layer>
<id>2</id>
<text>IntroductionPaymentThe DatabaseImporting DataEditing DataEditing the MessagePreviewing MergePerforming MergeHints & Tips</text>
</content>
<content>
<layer>card</layer>
<id>3</id>
<text>>Introduction>Email Merge is a program for creating mailings of individualised eMail messages. It takes a database of information, and an eMail message, and merges the two to create customised eMail messages.The potential uses are endless, and include invoicing, sales, debt recovery, student grading, and even personal messages.Messages are sent through either Claris Emailer, or Qualcomm Eudora, so one of these must be installed on your computer. Both are available freely from the Internet.Email Merge contains four major panes, accessible from the buttons in the top left of the window. These are : "Import Data" to import data into the database, "Edit Data" to edit, view, or add to the database, "Edit Message" to edit the eMail message to send out, and "Preview / Merge" to preview the result of a merge and perform the merge.Email Merge contains popup help, which is active when the eye (bottom left) is highlighted. This describes the purpose and function of whatever is at the current mouse position. At any time, this help screen can be brought up by clicking the help bar at the bottom of the window.Thank you for reading about Email Merge. I hope you find this program useful — but please remember it is not free software!<Introduction<>Payment>Email Merge is a shareware program, meaning that anyone who uses it is obliged to register by sending payment.Unfortunately, this rarely happens, therefore, while unregistered, Email Merge restricts the number of records in the database to 20. This still enables a comprehensive evaluation to be performed.The current single-CPU license price of Email Merge is $30, and $25 each for two or more licenses. A site license covering a single organisation for an area of up to 100 miles in radius costs $250. For about other licensing arrangements, please contact Sig Software.Payment is carried out either with the enclosed Register Email Merge program, or using a page on the World Wide Web. Payment may be made by cash, cheque, VISA, MasterCard, American Express or First Virtual.To purchase a registration on the World Wide Web :• Click on Purchase via Web in the about dialog box or go to http://order.kagi.com/?BX• Wait for the Web browser to load up the page.• Enter name, address and eMail details into the fields provided.• Follow the rest of the instructions on the Web page.To purchase a registration using the register program :• Click on Register via Software in the about dialog box or run the enclosed Register Email Merge application.• Enter name, address and eMail details into the fields provided.• Specify how many single or site licenses of Email Merge are required.• Enter payment details in the area provided.• Save, copy or print out the information, and forward to Kagi (as detailed below) for processing.Email the registration purchase by copying the details to an eMail message (click Copy), and send to sales@kagi.com. Alternatively, print or save the details, and fax to (US) 510 652-6589, or post to : Kagi, 1442-A Walnut Street #392-BX, Berkeley, California, 94709-1405, USA. Please be patient, as eMailed registrations may take up to 3 days for processing, and faxes and postal mail may take up to 8 days.Once payment has been processed, a user name and code number will be sent via eMail. Registrations will include the number and type of licenses purchased. The name and code received must be entered exactly as shown. Email Merge will now be registered.If there are any problems, please contact Sig Software at gdg@kagi.com. Thank you.<Payment<>The Database>The Email Merge database consists of a number of records and fields. Each record represents an entity, for example an individual, company, or transaction. Each field represents a fact about an entity, such as name, eMail address, date or price.When performing an eMail merge, one message is sent out for each record. Within the subject, recipients, or text of the eMail, there can be placeholders for fields, which are replaced by the contents of the respective fields of the record being used for that message.Databases can be imported from text files (easily created from within FileMaker Pro, Microsoft Excel, and any other program which stores tabular information), or created from scratch within Email Merge. <The Database<>Importing Data>Data imported into Email Merge must be in tab-delimited text form. This is a standard format across all programs capable of storing tabular information. Importing is available by clicking the "Import Data" button.Firstly, you must extract the data from the program containing it. If you wish to use the clipboard, simply copy the table you wish to import. This method will work with spreadsheets such as Microsoft Excel, and tables in word processors such as Microsoft Word and WordPerfect.If you wish to use a text file, export the database from the program currently holding it. This is achieved in FileMaker Pro by choosing "Export Records…" from the "Import/Export" submenu of the "File" menu, and in Microsoft Excel by choosing "Save As…" from the "File" menu, and specifying a format of "Text (tab delimited)".Before importing data, you may sample it, by clicking the "Sample" button and specifying the clipboard or a text file. Browse through the import sample by clicking the left and right arrows. Field names can also be changed at this early stage by clicking on the left-hand column.To perform the import, click "Import". If you have sampled the clipboard or a file, that will automatically be used, otherwise specify the clipboard or a text file. If the database is not empty, confirm you wish to replace all previous records. The import will now take place.<Importing Data<>Editing Data>The data within the database can be edited in various ways. Editing is available by clicking "Edit Data" in the top left of the window.Browse through the records in the database by clicking the left and right arrows. The number of the current record is shown below them.Create a new record by clicking the "New" button. Remove the currently shown record by clicking the "Delete" button. To remove all records in the database, click "Clear" - but make sure you mean it!Change the name of a field by clicking the field name on the left. Change the contents of a field of the current record by clicking the line containing the field contents.Add a new field by clicking on a blank line below the field names. Fields cannot be removed from the database (there is no need to).<Editing Data<>Editing the Message>The Email message can be edited by clicking "Edit Message" in the top left of the window. The message contains several areas :• Subject : The title of the message to be sent out.• To : A recipient to whom the message is directly sent.• Cc : A recipient to whom a copy of the message is sent.• Bcc : A recipient to whom a copy is sent, unknown to other recipients.• Message : This main area contains the text of the message itself.At any position in any of these areas, a field placeholder can be inserted of the format «field_name» where field_name is the name of the field in the database. When performing the eMail merge, these placeholders will be replaced by the contents of the specified field for each record. A placeholder can be automatically inserted at the current cursor position by using the "Insert Field" popup menu.The merging is very versatile - for example, if all recipients had a common section of their eMail address, e.g. @sig.com, the database need only contain the part of their address which differs, and the recipient would be set to «id»@sig.com.<Editing the Message<>Previewing Merge>Once the database and message are set up, the results of the eMail merge operation can be previewing by clicking the "Preview / Merge" button in the top left of the window.For each record in the database, one message will be generated. Browse through the messages by clicking the left and right arrows. The number of the record being used for the current message is shown below them.Some things to check for are :• Messages have at least one recipient under "To:", "Cc:" or "Bcc:".• All «field_name» placeholders are being correctly replaced.• The wrapping of the text in the message looks reasonable.When the previewed results of the eMail merge are satisfactory, the merge itself can be performed.<Previewing Merge<>Performing Merge>The eMail merge can be previewed by clicking the "Preview / Merge" button in the top left of the window. Once the previewed results are satisfactory, the merge itself can be performed.To send the currently shown message, click "Send One". A prompt will appear if you have a choice of which eMail program to use (Emailer or Eudora), and the message will be sent in that program.To send a message for each record in the database, click "Send All". Ensure that you are sure you wish to do this! The messages will then be sent, and a progress report will appear in the bottom of the window.Note : Email Merge communicates with Emailer and Eudora by creating the messages, and placing them in a queue for sending. The messages will not travel to their destination until they are sent from within the eMail program. In Emailer, choose "Connect" from the "Mail" menu. In Eudora, choose "Send Queued Messages" from the "File" menu.If a message does not have at least one recipient, in one of the "To:", "Cc:" or "Bcc:" fields, it will not be sent.<Performing Merge<>Hints & Tips>Some features of Email Merge worth knowing :• The database and message are stored automatically upon quit – there is no need to open or save any documents.• The database can be exported as a tab-delimited text file by choosing "Export..." from the "File" menu.Some other hints about using Email Merge :• It is strongly suggested to hide the eMail program (either Emailer or Eudora) while performing a merge – this will speed things up a lot.• In tests, Claris Emailer has proved to be significantly faster than Eudora for receiving the results of an eMail merge.• To use calculated values in the database, create calculation fields (in databases such as FileMaker Pro) or cells (in spreadsheets such as Microsoft Excel), and include these in the data to import.<Hints & Tips<</text>
</content>
<content>
<layer>card</layer>
<id>1</id>
<text>Some features of Email Merge worth knowing :• The database and message are stored automatically upon quit – there is no need to open or save any documents.• The database can be exported as a tab-delimited text file by choosing "Export..." from the "File" menu.Some other hints about using Email Merge :• It is strongly suggested to hide the eMail program (either Emailer or Eudora) while performing a merge – this will speed things up a lot.• In tests, Claris Emailer has proved to be significantly faster than Eudora for receiving the results of an eMail merge.• To use calculated values in the database, create calculation fields (in databases such as FileMaker Pro) or cells (in spreadsheets such as Microsoft Excel), and include these in the data to import.</text>
</content>
<name>Help</name>
<script>on rset the visible of cd fld "raw" to not the visible of cd fld "raw"end ron arrowkey keyput word 2 of the selectedline of cd fld "topics" into selineif seline is empty then put 0 into selinerepeatif key is up then subtract 1 from selineelse if key is down then add 1 to selineelse exit arrowkeyget the number of lines in cd fld "topics"if seline<1 then put it into selineif seline>it then put 1 into selineif line seline of cd fld "topics" is not empty then exit repeatend repeatselect line seline of cd fld "topics"send mouseup to cd fld "topics"end arrowkey</script>